/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package logicaNegocio;

import dtos.DTOFilaPedidoNegocio;
import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author Sebastian
 */
public class SuscriptorPedidoNuevo {

    private static SuscriptorPedidoNuevo instancia;
    private List<ObservadorPedidoNuevo> observadores;

    private SuscriptorPedidoNuevo() {
    }

    public static synchronized SuscriptorPedidoNuevo getInstancia() {
        if (instancia == null) {
            instancia = new SuscriptorPedidoNuevo();
        }
        return instancia;
    }

    private List<ObservadorPedidoNuevo> getObservadores() {
        if (observadores == null) {
            observadores = new ArrayList<ObservadorPedidoNuevo>();
        }
        return observadores;
    }

    public void agregarObservador(ObservadorPedidoNuevo observador) {
        getObservadores().add(observador);
    }

    public void quitarObservador(ObservadorPedidoNuevo observador) {
        getObservadores().remove(observador);
    }

    public void notificar(DTOFilaPedidoNegocio dTOFilaPedidoNegocio) {
        if (observadores != null) {
            for (ObservadorPedidoNuevo observadorCambioEstadoPedido : observadores) {
                observadorCambioEstadoPedido.notificar(dTOFilaPedidoNegocio);
            }
        }
    }
}
